package com.irdstudio.efp.cus.service.impl;

import java.util.List;
import java.util.Objects;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.irdstudio.basic.framework.core.base.AbstractFrameworkService;
import com.irdstudio.basic.framework.core.base.FrameworkService;
import com.irdstudio.efp.cus.service.dao.CusRelCheckTempDao;
import com.irdstudio.efp.cus.service.domain.CusRelCheckTemp;
import com.irdstudio.efp.cus.service.facade.CusRelCheckTempService;
import com.irdstudio.efp.cus.service.vo.CusRelCheckTempVO;

/**
 * @description:行内员工信息临时表操作方法
 * @date:2018年12月27日 上午11:18:53
 * @author:wangyk3
 */
@Service("cusRelCheckTempService")
public class CusRelCheckTempServiceImpl extends AbstractFrameworkService
		implements CusRelCheckTempService, FrameworkService {
	private static Logger logger = LoggerFactory.getLogger(CusRelCheckTempServiceImpl.class);

	@Autowired
	private CusRelCheckTempDao cusRelCheckTempDao;

	/**
	 * @description:返回内员工信息临时表列表
	 * @return
	 * @date:2018年12月27日 下午5:37:44
	 * @author:wangyk3
	 */
	@Override
	public List<CusRelCheckTempVO> queryCusRelCheckTempList() {
		logger.debug("查询内员工信息临时表列表开始");
		List<CusRelCheckTempVO> cusRelCheckTempVOlist = null;
		List<CusRelCheckTemp> cusRelCheckTempList = null;
		try {
			cusRelCheckTempList = cusRelCheckTempDao.queryCusRelCheckTempList();
			cusRelCheckTempVOlist = (List<CusRelCheckTempVO>) beansCopy(cusRelCheckTempList,
					CusRelCheckTempVO.class);
		} catch (Exception e) {
			logger.error("数据转换出现异常!", e);
		}

		return cusRelCheckTempVOlist;
	}

	/**
	 * @description:根据证件号查询行内员工临时表信息
	 * @param certCode
	 * @return
	 * @date:2018年12月27日 下午5:45:37
	 * @author:wangyk3
	 */
	@Override
	public CusRelCheckTempVO queryBankEmployeeBycertCode(String certCode) {

		logger.debug("当前查询参数信息为:" + certCode);
		CusRelCheckTemp cusRelCheckTemp = null;
		try {
			cusRelCheckTemp = cusRelCheckTempDao.queryCusRelCheckTempBycertCode(certCode);
			if (Objects.nonNull(cusRelCheckTemp)) {
				CusRelCheckTempVO CusRelCheckTempVO = beanCopy(cusRelCheckTemp,
						new CusRelCheckTempVO());
				logger.debug("当前查询结果为:" + CusRelCheckTempVO.toString());
				return CusRelCheckTempVO;
			} else {
				logger.debug("当前查询结果为空!");
			}
		} catch (Exception e) {
			logger.error("查询数据发生异常!", e);
		}
		return null;

	}

	/**
	 * @description:单条插入行内员工信息临时表
	 * @param bankEmployeeTempVO
	 * @return
	 * @date:2018年12月27日 下午5:55:02
	 * @author:wangyk3
	 */
	@Override
	public int insertCusRelCheckTemp(CusRelCheckTempVO cusRelCheckTempVO) {
		logger.debug("当前新增数据为:"+ cusRelCheckTempVO.toString());
		CusRelCheckTemp cusRelCheckTemp = new CusRelCheckTemp();
		int num = 0;
		try {
			beanCopy(cusRelCheckTempVO, cusRelCheckTemp);
			num = cusRelCheckTempDao.insertCusRelCheckTemp(cusRelCheckTemp);
		} catch (Exception e) {
			logger.error("新增数据发生异常!", e);
			num = -1;
		}
		logger.debug("当前新增数据条数为:"+ num);
		return num;
	}

	/**
	 * @description:清空临时表数据
	 * @return
	 * @date:2018年12月27日 下午6:01:23
	 * @author:wangyk3
	 */
	@Override
	public int deleteCusRelCheckTemp() {
		logger.debug("清空临时表--CusRelCheckTemp--数据");
		int num = 0;
		try {
			num = cusRelCheckTempDao.deleteCusRelCheckTemp();
		} catch (Exception e) {
			logger.error("清除数据发生异常!", e);
			num = -1;
		}
		return num;
	}

}
